
var path = require("path");
var fs = require("fs");
var fsp = require("fs/promises");
var db = path.join(__dirname, "../data");

/**
 * 
 * @param {*} fileName  读取文件名(json文件)
 * @returns 返回Promise实例  读取成功返回数据(数组),失败返回错误对象
 */
function getData(fileName) {
    // 返回Promise实例  读取成功返回数据(数组),失败返回错误对象
    return fsp.readFile(path.join(db, fileName + ".json"), "utf-8").then(result => {
        result = result ? result : "[]";
        result = JSON.parse(result);
        return result;
    })
    // .then(result => {

    // }).catch(err => {

    // })
}


/**
 * 
 * @param {*} fileName 写入的文件名(json文件)
 * @param {*} data 写入数据
 * @returns  返回Promise实例  写入成功返回数据(数组),失败返回错误对象
 */
function setData(fileName, data) {
    // 返回Promise实例  写入成功返回数据(数组),失败返回错误对象
    return fsp.writeFile(path.join(db, fileName + ".json"), data, { encoding: "utf-8", flag: "w" }).then(result => {
        return true;
    })
    // .then(result => {

    // }).catch(err => {

    // })
}

module.exports = {
    getData,
    setData,
}